home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Joystick Magazine 1996 May
/
cd joy 71No13.iso
/
pc
/
demos
/
eurosoc
/
source
/
vesa.h
< prev
next >
Wrap
Text File
|
1996-01-19
|
4KB
|
102 lines
typedef char CHAR;
typedef short SHORT;
unsigned char *VESASource(int offset,int x,int y);
unsigned char *VESADest(int offset,int x,int y);
int VESAmode(int *modelist); // pointer to modes in order of preference, returns mode
/*
Modes are:
0x06a 800x600 Graphic 16 (== Vesa 0x102)
0x100 640x400 Graphic 256
0x101 640x480 Graphic 256
0x102 800x600 Graphic 16 (== Mode 0x6a)
0x103 800x600 Graphic 256
0x104 1024x768 Graphic 16
0x105 1024x768 Graphic 256
0x106 1280x1024 Graphic 16
0x107 1280x1024 Graphic 256
0x108 80 x 60 Text
0x109 132 x 25 Text
0x10A 132 x 43 Text
0x10B 132 x 50 Text
0x10C 132 x 60 Text
0x10D 320x200 Graphic 32K (1:5:5:5)
0x10E 320x200 Graphic 64K (5:6:5)
0x10F 320x200 Graphic 16.8M (8:8:8)
0x110 640x480 Graphic 32K (1:5:5:5)
0x111 640x480 Graphic 64K (5:6:5)
0x112 640x480 Graphic 16.8M (8:8:8)
0x113 800x600 Graphic 32K (1:5:5:5)
0x114 800x600 Graphic 64K (5:6:5)
0x115 800x600 Graphic 16.8M (8:8:8)
0x116 1024x768 Graphic 32K (1:5:5:5)
0x117 1024x768 Graphic 64K (5:6:5)
0x118 1024x768 Graphic 16.8M (8:8:8)
0x119 1280x1024 Graphic 32K (1:5:5:5)
0x11A 1280x1024 Graphic 64K (5:6:5)
0x11B 1280x1024 Graphic 16.8M (8:8:8)
*/
int vesastart(int x, int y); // Set start pixel of display
extern int winrange;
extern int Vbytesperline;
////////////////////////////////////////////////////////////
//// VESA STRUCTURES
//
struct VESA_INF
{
char VESASignature[4]; // 4 signature bytes = "VESA"
SHORT VESAVersion; // VESA version number
long *OEMStringPtr; // Pointer to OEM string
CHAR Capabilities[4]; // capabilities of the video environment
long *VideoModePtr; // pointer to supported Super VGA modes
SHORT TotalMemory; // Number of 64kb memory blocks on board
};
struct ModeInfoBlock
{
// mandatory information
SHORT ModeAttributes; // mode attributes
CHAR WinAAttributes; // window A attributes
CHAR WinBAttributes; // window B attributes
short WinGranularity; // window granularity SHORT
SHORT WinSize; // window size
unsigned short WinASegment; // window A start segment
unsigned short WinBSegment; // window B start segment
long WinFuncPtr; // pointer to windor function
SHORT BytesPerScanLine; // bytes per scan line
// formerly optional information (now mandatory)
SHORT XResolution; // horizontal resolution
SHORT YResolution; // vertical resolution
CHAR XCharSize; // character cell width
CHAR YCharSize; // character cell height
CHAR NumberOfPlanes; // number of memory planes
CHAR BitsPerPixel; // bits per pixel
CHAR NumberOfBanks; // number of banks
CHAR MemoryModel; // memory model type
CHAR BankSize; // bank size in kb
CHAR NumberOfImagePages; // number of images
CHAR Reserved; // reserved for page function
// new Direct Color fields
CHAR RedMaskSize; // size of direct color red mask in bits
CHAR RedFieldPosition; // bit position of LSB of red mask
CHAR GreenMaskSize; // size of direct color green mask in bits
CHAR GreenFieldPosition; // bit position of LSB of green mask
CHAR BlueMaskSize; // size of direct color blue mask in bits
CHAR BlueFieldPosition; // bit position of LSB of blue mask
CHAR RsvdMaskSize; // size of direct color reserved mask in bits
CHAR DirectColorModeInfo; // Direct Color mode attributes
};
#ifndef _vesa_gen
extern struct VESA_INF *vesa_inf;
extern struct ModeInfoBlock *vmode_inf;
#endif
//
////
////////////////////////////////////////////////////////////